1 From cfebabdd351e9cbafdc99cb198db482208ec5ad9 Mon Sep 17 00:00:00 2001
2 From: Bitterblue Smith <rtl8821cerfe2@gmail.com>
3 Date: Tue, 18 Feb 2025 01:32:15 +0200
4 Subject: [PATCH] wifi: rtw88: Extend rtw_debugfs_get_phy_info() for RTL8814AU
6 Print information about the 3rd and 4th RF paths and about the 3rd
9 Also, fix a small bug: don't show the average SNR and EVM for the OFDM
10 and HT/VHT rates when the rate is actually CCK 11M.
12 Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
13 Acked-by: Ping-Ke Shih <pkshih@realtek.com>
14 Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
15 Link: https://patch.msgid.link/7c8e94e2-e034-40f3-bdaf-b000018b5573@gmail.com
17 drivers/net/wireless/realtek/rtw88/debug.c | 37 +++++++++++++++-------
18 1 file changed, 26 insertions(+), 11 deletions(-)
20 --- a/drivers/net/wireless/realtek/rtw88/debug.c
21 +++ b/drivers/net/wireless/realtek/rtw88/debug.c
22 @@ -654,10 +654,10 @@ static void rtw_print_rate(struct seq_fi
23 case DESC_RATE6M...DESC_RATE54M:
24 rtw_print_ofdm_rate_txt(m, rate);
26 - case DESC_RATEMCS0...DESC_RATEMCS15:
27 + case DESC_RATEMCS0...DESC_RATEMCS31:
28 rtw_print_ht_rate_txt(m, rate);
30 - case DESC_RATEVHT1SS_MCS0...DESC_RATEVHT2SS_MCS9:
31 + case DESC_RATEVHT1SS_MCS0...DESC_RATEVHT4SS_MCS9:
32 rtw_print_vht_rate_txt(m, rate);
35 @@ -849,20 +849,28 @@ static int rtw_debugfs_get_phy_info(stru
36 last_cnt->num_qry_pkt[rate_id + 9]);
39 - seq_printf(m, "[RSSI(dBm)] = {%d, %d}\n",
40 + seq_printf(m, "[RSSI(dBm)] = {%d, %d, %d, %d}\n",
41 dm_info->rssi[RF_PATH_A] - 100,
42 - dm_info->rssi[RF_PATH_B] - 100);
43 - seq_printf(m, "[Rx EVM(dB)] = {-%d, -%d}\n",
44 + dm_info->rssi[RF_PATH_B] - 100,
45 + dm_info->rssi[RF_PATH_C] - 100,
46 + dm_info->rssi[RF_PATH_D] - 100);
47 + seq_printf(m, "[Rx EVM(dB)] = {-%d, -%d, -%d, -%d}\n",
48 dm_info->rx_evm_dbm[RF_PATH_A],
49 - dm_info->rx_evm_dbm[RF_PATH_B]);
50 - seq_printf(m, "[Rx SNR] = {%d, %d}\n",
51 + dm_info->rx_evm_dbm[RF_PATH_B],
52 + dm_info->rx_evm_dbm[RF_PATH_C],
53 + dm_info->rx_evm_dbm[RF_PATH_D]);
54 + seq_printf(m, "[Rx SNR] = {%d, %d, %d, %d}\n",
55 dm_info->rx_snr[RF_PATH_A],
56 - dm_info->rx_snr[RF_PATH_B]);
57 - seq_printf(m, "[CFO_tail(KHz)] = {%d, %d}\n",
58 + dm_info->rx_snr[RF_PATH_B],
59 + dm_info->rx_snr[RF_PATH_C],
60 + dm_info->rx_snr[RF_PATH_D]);
61 + seq_printf(m, "[CFO_tail(KHz)] = {%d, %d, %d, %d}\n",
62 dm_info->cfo_tail[RF_PATH_A],
63 - dm_info->cfo_tail[RF_PATH_B]);
64 + dm_info->cfo_tail[RF_PATH_B],
65 + dm_info->cfo_tail[RF_PATH_C],
66 + dm_info->cfo_tail[RF_PATH_D]);
68 - if (dm_info->curr_rx_rate >= DESC_RATE11M) {
69 + if (dm_info->curr_rx_rate >= DESC_RATE6M) {
70 seq_puts(m, "[Rx Average Status]:\n");
71 seq_printf(m, " * OFDM, EVM: {-%d}, SNR: {%d}\n",
72 (u8)ewma_evm_read(&ewma_evm[RTW_EVM_OFDM]),
73 @@ -875,6 +883,13 @@ static int rtw_debugfs_get_phy_info(stru
74 (u8)ewma_evm_read(&ewma_evm[RTW_EVM_2SS_B]),
75 (u8)ewma_snr_read(&ewma_snr[RTW_SNR_2SS_A]),
76 (u8)ewma_snr_read(&ewma_snr[RTW_SNR_2SS_B]));
77 + seq_printf(m, " * 3SS, EVM: {-%d, -%d, -%d}, SNR: {%d, %d, %d}\n",
78 + (u8)ewma_evm_read(&ewma_evm[RTW_EVM_3SS_A]),
79 + (u8)ewma_evm_read(&ewma_evm[RTW_EVM_3SS_B]),
80 + (u8)ewma_evm_read(&ewma_evm[RTW_EVM_3SS_C]),
81 + (u8)ewma_snr_read(&ewma_snr[RTW_SNR_3SS_A]),
82 + (u8)ewma_snr_read(&ewma_snr[RTW_SNR_3SS_B]),
83 + (u8)ewma_snr_read(&ewma_snr[RTW_SNR_3SS_C]));
86 seq_puts(m, "[Rx Counter]:\n");